#pragma once

#include "fxcc/core/graph/opengl3/pch.h"
#include "fxcc/core/graph/opengl3/Texture.h"
#include "fxcc/core/graph/opengl3/Texture2DJack.h"

namespace fxcc
{
	namespace graph
	{
		namespace opengl3
		{
			struct FXCC_API  Texture2DArrayJack :public fxcc::graph::common::Texture2DArrayJack, public fxcc::graph::opengl3::Texture
			{
				Texture2DArrayJack(const Desc& desc);

				bool InitDDS();

				bool Init();

				bool GenerateTextures();

				void SetShader(int index) const override
				{
					Active(index);
				}

				static const std::string GetArrayIndexFragCode();
			};
		};
	};
};